package com.bjb.vr.common.mapper;

import com.bjb.vr.common.ao.StatisticAo;
import com.bjb.vr.common.vo.CourseCountVo;
import org.apache.ibatis.annotations.Param;

import java.math.BigDecimal;
import java.util.HashMap;
import java.util.List;

/**
 * @version 1.0.0
 * @author: HuJingBo
 * @time: 2022/5/9 11:33
 */
public interface DevicesStatisticsMapper {

    HashMap<String, Integer> devicesStatusCount();
    HashMap<String, Integer> resourcesCountByLevel();
    HashMap<String, Integer> resourcesCountBySubject();
    HashMap<String, Integer> resourcesCountByType();
    HashMap<String, BigDecimal> devicesUseTimeCount(@Param("startTime")String startTime, @Param("endTime")String endTime);
    List<CourseCountVo> resourcesUseCount();

    //---------------------------------------------------------
    HashMap<String, Integer> devicesStatusCountOpt(@Param("tenantId")String tenantId);
    HashMap<String, BigDecimal> devicesUseTimeCountOpt(@Param("tenantId")String tenantId, @Param("startTime")String startTime, @Param("endTime")String endTime);
    HashMap<String, BigDecimal> countDevicesUseTimeOfTotal(@Param("tenantId")String tenantId);
    HashMap<String, Integer> resourcesCountByPrimary(@Param("tenantId")String tenantId, @Param("period")String period);
    HashMap<String, Integer> resourcesCountByPrimaryAndLevel(@Param("tenantId")String tenantId);
    HashMap<String, Integer> resourcesCountByPrimaryAndSubject(@Param("tenantId")String tenantId, @Param("period")String period);
    HashMap<String, Integer> resourcesCountByMiddleAndLevel(@Param("tenantId")String tenantId);
    HashMap<String, Integer> resourcesCountByMiddleAndSubject(@Param("tenantId")String tenantId, @Param("period")String period);
    HashMap<String, Integer> resourcesCountByMiddle(@Param("tenantId")String tenantId, @Param("period")String period);
    HashMap<String, Integer> resourcesCountParty(@Param("tenantId")String tenantId);
    HashMap<String, Integer> resourcesCountByPrimaryAndMiddle();
    HashMap<String, Integer> resourcesCountByPrimaryAndMiddleAndLevel();
    HashMap<String, Integer> devicesCountByCondition(StatisticAo statisticAo);
}
